DATA SEGMENT 
    X DB 35       ; 定义X=35 
    Y DB 47       ; 定义Y=47 
    RESULT DB ?   ; 存放结果 
DATA ENDS
 
CODE SEGMENT 
    ASSUME CS:CODE, DS:DATA 
START:
    MOV AX, DATA 
    MOV DS, AX         ; 初始化数据段
 
    ; 相加操作 
    MOV AL, X 
    ADD AL, Y          ; AL = 35 + 47 = 82 
    MOV RESULT, AL     ; 保存结果 
 
    ; 转换为十进制显示 
    MOV AH, 0          ; 清空AH，准备16位除法 
    MOV BL, 10         ; 除数10用于分离十位和个位
    DIV BL             ; AL = 商（8），AH = 余数（2）
 
    ; 转为ASCII码
    ADD AL, 30H        ; 十位转为ASCII码（8 → '8'）
    ADD AH, 30H        ; 个位转为ASCII码（2 → '2'）
    MOV BL, AH         ; 保存个位到BL寄存器
 
    ; 显示十位 
    MOV DL, AL 
    MOV AH, 02H
    INT 21H
 
    ; 显示个位 
    MOV DL, BL         ; 从BL恢复个位ASCII码
    MOV AH, 02H
    INT 21H
 
    ; 退出程序 
    MOV AH, 4CH 
    INT 21H
CODE ENDS
END START